package GUI;

import java.awt.Color;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.swing.*;
import java.awt.BorderLayout;
import java.awt.Container;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import javax.swing.JFrame;
import javax.swing.JMenu;
import javax.swing.JMenuBar;
import javax.swing.JMenuItem;
import javax.swing.JScrollPane;
import javax.swing.JTextArea;
import java.awt.GridLayout;
import java.util.*;

import java.rmi.Naming;
import java.rmi.NotBoundException;
import java.rmi.RemoteException;
import java.net.MalformedURLException;

import Applikationslogik.*;
import GUI.*;


public class PersonEditieren implements ActionListener  {

    private Verwaltung v2;

     // Das Außenrum
     JFrame person_editieren;
     JPanel panel;
     JPanel panel_button;

     // Die Textfeldbeschreibungen
     JLabel frage;

     // Die ComboBox
     JComboBox x;

     // Der Anlegenbutton
     JButton anlegen;

     // HashMap fuer Namen
     private HashMap<String, Person> person;

     public PersonEditieren(Verwaltung verwaltung) {

         v2 = verwaltung;
         Vector <Person> unsere_personen = new Vector();

         person_editieren = new JFrame("Person editieren");
         panel = new JPanel();

         // Jetzt werden die Elemente gemalt
         frage = new JLabel("Bitte wähle die Person aus:");

         // Wir lesen alle Personen aus und schreiben diese in eine Liste
         try {
             // Wir lesen alle Personen aus
             unsere_personen = v2.getAllPerson();

         } catch (RemoteException re) {

         }



         




         // Button wird gemacht und ActionListener gesetzt
         anlegen = new JButton("Person editieren");
         anlegen.addActionListener(this);

         // Gridlayout

         panel.setLayout(new GridLayout(6,2));

         // Panel wird gemalt

         panel.add(frage);

         person = new HashMap<String,Person>();

         for (int i = 0; i < unsere_personen.size(); i++) {
            try {
                person.put(unsere_personen.elementAt(i).get_voller_name(), unsere_personen.elementAt(i));
            } catch (RemoteException ex) {
            }
         }


         x = new JComboBox(new DefaultComboBoxModel());

         for (String key : person.keySet()) {
             x.addItem(key);
}


//         x = new JComboBox(new DefaultComboBoxModel());
//
//         for(int i =0; i < unsere_personen.size(); i++)
//        {
//            x.addItem((Person)unsere_personen.elementAt(i));
//        }


         panel.add(x);
         panel.add(anlegen);



         person_editieren.add(panel);
         person_editieren.setSize(250, 250);
         person_editieren.setVisible(true);

     }



    public void actionPerformed(ActionEvent object) {
        if (object.getSource() == anlegen){
               Person uebergebene_person = person.get(x.getSelectedItem());
                new PersonEditieren_Action(v2,uebergebene_person);
                person_editieren.dispose(); // Frame schließen
          }


    }
}